#ifndef ENUMS_H
#define ENUMS_H 

// State shares the last 64 bit word of the each cache line with the replacment policy info. 
// bits 0-7 reserved for replacment policy info, bits 8-15 reserved for State.

enum State {
    Invalid = 0x100,
    Shared = 0x200,
    Modified = 0x300, 
    Exclusive = 0x400,
    Owner = 0x500,
    Forward = 0x600
};

enum Protocol {
    MSI,
    MESI,
    MOESI,
    MOSIF
    
};

//enum for all the currently implemented replacement policies
/*enum ReplacementPolicy{
    RoundRobin = 1,
    LeastRecentlyUsed = 2,
    PseudoRandom = 3
}; 
*/
#endif